package com.joesem.sale.client.network.data

import android.os.Parcelable

/**
 * @Time 2023/2/27 10:30:11
 * @Description
 **/
data class OrderDetailsMode(
    val address: String? = "",
    val city_code: String? = "",
    val city_id: Int? = 0,
    val city_name: String? = "",
    val contact_name: String? = "",
    val contact_phone: String? = "",
    val country_code: String? = "",
    val country_id: Int? = 0,
    val country_name: String? = "",
    val county_code: String? = "",
    val county_id: Int? = 0,
    val county_name: String? = "",
    val create_time: String? = "",
    val create_time_format: String? = "",
    val create_user: CreateUser? = CreateUser(),
    val create_user_id: Int? = 0,
    val customer: Customer? = Customer(),
    val customer_id: Int? = 0,
    val description: String? = "",
    val histories: List<History>? = listOf(),
    val id: Int? = 0,
    val level: String? = "",
    val logs: List<Log>? = listOf(),
    val plan_at: String? = "",
    val products: List<Product>? = listOf(),
    val province_code: String? = "",
    val province_id: Int? = 0,
    val province_name: String? = "",
    val receipt: ReceiptMode? = ReceiptMode(),
    val service_content: String? = "",
    val service_type: String? = "",
    val status: String? = "",
    val status_stream: List<StatusStream>? = listOf(),
    val type: String? = "",
    val update_time: String? = "",
    val update_time_format: String? = "",
    val users: List<WorkOrderMode.User>? = listOf(),
    val wo_number: String? = "",
    val images: List<Image?>? = null,

) {

    data class CreateUser(
        val address: String? = "",
        val avatar: String? = "",
        val birthday: Int? = 0,
        val city_code: String? = "",
        val city_name: String? = "",
        val create_time: String? = "",
        val create_user: Int? = 0,
        val dept_id: Int? = 0,
        val district_code: String? = "",
        val email: String? = "",
        val gender: Int? = 0,
        val id: Int? = 0,
        val intro: String? = "",
        val level_id: Int? = 0,
        val login_ip: String? = "",
        val login_num: Int? = 0,
        val login_time: Int? = 0,
        val mark: Int? = 0,
        val mobile: String? = "",
        val nickname: String? = "",
        val note: String? = "",
        val password: String? = "",
        val position_id: Int? = 0,
        val province_code: String? = "",
        val realname: String? = "",
        val salt: String? = "",
        val sort: Int? = 0,
        val status: Int? = 0,
        val update_time: String? = "",
        val update_user: Int? = 0,
        val username: String? = ""
    )

    data class Customer(
        val address: String? = "",
        val city_id: Int? = 0,
        val city_name: String? = "",
        val contact_at: String? = "",
        val country_id: Int? = 0,
        val country_name: String? = "",
        val county_id: Int? = 0,
        val county_name: String? = "",
        val create_time: String? = "",
        val create_user_id: Int? = 0,
        val customer_number: String? = "",
        val customer_type_name: String? = "",
        val customer_user_id: Int? = 0,
        val department_id: Int? = 0,
        val department_name: String? = "",
        val detail_address: String? = "",
        val entry_type_name: String? = "",
        val id: Int? = 0,
        val industry_name: String? = "",
        val mark: Int? = 0,
        val name: String? = "",
        val owner_id: Int? = 0,
        val owner_name: String? = "",
        val parent_id: Int? = 0,
        val province_id: Int? = 0,
        val province_name: String? = "",
        val safe_level: String? = "",
        val service_limit: Int? = 0,
        val short_name: String? = "",
        val source: String? = "",
        val status: Int? = 0,
        val tag_name: String? = "",
        val update_time: String? = "",
        val zone_codes: List<Int?>? = listOf()
    )

    data class History(
        val create_time: String? = "",
        val create_time_format: String? = "",
        val id: Int? = 0,
        val status: String? = "",
        val update_time: String? = "",
        val update_time_format: String? = "",
        val work_order_id: Int? = 0
    )

    data class Log(
        val action: String? = "",
        val create_time: String? = "",
        val creator: String? = ""
    )

    data class Product(
        val create_time: String? = "",
        val id: Int? = 0,
        val product: ProductX? = ProductX(),
        val product_id: Int? = 0,
        val update_time: String? = "",
        val work_order_id: Int? = 0
    )

    data class StatusStream(
        val active: Int? = 0,
        val status: String? = ""
    )

    data class ProductX(
        val address: String? = "",
        val attachment: String? = "",
        val attachment_url: String? = "",
        val city_id: Int? = 0,
        val city_name: String? = "",
        val country_id: Int? = 0,
        val country_name: String? = "",
        val county_id: Int? = 0,
        val county_name: String? = "",
        val create_time: Any? = Any(),
        val create_time_format: String? = "",
        val create_user_id: Int? = 0,
        val customer_id: Int? = 0,
        val date_buy: String? = "",
        val date_check: String? = "",
        val department_id: Int? = 0,
        val id: Int? = 0,
        val install_address: String? = "",
        val model: String? = "",
        val name: String? = "",
        val product_number: String? = "",
        val province_id: Int? = 0,
        val province_name: String? = "",
        val type_id: Int? = 0,
        val update_time: Any? = Any(),
        val update_time_format: String? = "",
        val warranty_end: String? = "",
        val warranty_end_date: String? = "",
        val warranty_start: String? = "",
        val warranty_start_date: String? = "",
        val warranty_status_code: String? = "",
        val warranty_status_title: String? = "",
        val warranty_type: String? = ""
    )

}
